// pages/changePassword/changePassword.js
const tool = require('../../utils/tool')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    op:'',
    np:'',
    rnp:'',
    canSubmit:false,
    warningText:''
  },

  async submit_click(){
    this.setData({
      warningText:''
    })
    if(this.data.canSubmit==false)return
    if(this.data.np.length<8 || this.data.np.length>16){
      this.setData({
        warningText:'新密码长度应不短于8位，不长于16位'
      })
      return
    }
    let t = this.data.np.split('')
    for(let i=0;i<t.length;i++){
      t[i] = t[i].charCodeAt(0)
      if(t[i]>=48 && t[i]<=57)continue
      if(t[i]>=65 && t[i]<=90)continue
      if(t[i]>=97 && t[i]<=122)continue
      this.setData({
        warningText:'新密码应由数字或大小写字母组成'
      })
      return
    }
    wx.showLoading({ mask:true,
      title: '请稍候',
    })
    let re = await tool.requestMethod("/changePassword",{
      op:tool.sha256(this.data.op),
      np:tool.sha256(this.data.np),
      account:this.data.loginedUserInfo.account
    })
    wx.hideLoading()
    if(re.status==-2){
      this.setData({
        warningText:'后端服务异常'
      })
      return
    }
    if(re.status==0){
      this.setData({
        warningText:re.content
      })
      return
    }
    wx.showModal({
      title: '提示',
      content: '修改成功，请重新登录',
      showCancel: false,
      success:()=>{
        wx.setStorageSync('reLogin', 'true')
        wx.navigateBack()
      },
      
    })
  },

  check_input(){
    let re = true
    if(this.data.op=='')re = false
    if(this.data.np=='')re = false
    if(this.data.rnp=='')re = false
    if(this.data.np!=this.data.rnp)re = false
    this.setData({
      canSubmit:re
    })
  },

  input_op(e){
    this.setData({
      op:e.detail.value
    })
    this.check_input()
  },

  input_np(e){
    this.setData({
      np:e.detail.value
    })
    this.check_input()
  },

  input_rnp(e){
    this.setData({
      rnp:e.detail.value
    })
    this.check_input()
  },

  back(){
    wx.navigateBack()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    tool.setThemeColor(this)
    this.setData({
      sysImagURLPrefix:wx.getStorageSync('sysImagURLPrefix')
    })
    options = JSON.parse(options.data)
    this.setData({
      statusBarHeight:(parseInt(options.statusBarHeight.split('px')[0])).toString() + 'px',
      loginedUserInfo:options.loginedUserInfo,
      contentHeight:options.contentHeight
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})